###############################
### Projet Zelda : Makefile ###
###############################

# Répertoire contenant les fichiers sources
SRC_DIR = src
SRCS = BlocObjet.c Carte.c Jeu.c Link.c Monstre.c Position.c SDLJeu.c Temps.c Zone.c
SRC_GFX = SDLJeu.c
SRC_TXT = NcursesJeu.c
# Répertoire où seront les fichiers objets
OBJ_DIR = obj

# Répertoire où seront les exécutables
BIN_DIR = bin
# Nom des exécutables qui vont etre créés :
# Zelda_gfx Zelda_txt Test_regression


COMPILER = gcc
LINKER = gcc
DEBUGGER = -g -ggdb
# avec option de debug -g pour valgrind

LIBS_GFX = -lSDL
LIBS_TXT = -lncurses

# Options pour le compilateur
CFLAGS = -Wall -pedantic $(DEBUGGER)



# Règles pour les exécutables et les fichiers objets

default: gfx
# txt test 

gfx: $(BIN_DIR)/Zelda_gfx

# txt ne fonctionne pas encore et test non plus
txt: $(BIN_DIR)/Zelda_txt
test: $(BIN_DIR)/Test_regression


$(BIN_DIR)/Zelda_gfx: $(OBJ_DIR)/main.o $(SRCS:%.c=$(OBJ_DIR)/%.o) $(SRCS_GFX:%.c=$(OBJ_DIR)/%.o)
	$(LINKER) $+ -o $@ $(LIBS_GFX)
	
#$(BIN_DIR)/Zelda_txt: $(OBJ_DIR)/mainTexte.o $(SRCS:%.c=$(OBJ_DIR)/%.o) $(SRCS_TXT:%.c=$(OBJ_DIR)/%.o)
#	$(LINKER) $+ -o $@ $(LIBS_TXT)
	
#$(BIN_DIR)/Test_regression: $(OBJ_DIR)/TestRegression.o $(SRCS:%.c=$(OBJ_DIR)/%.o) $(SRCS_GFX:%.c=$(OBJ_DIR)/%.o) $(SRCS_TXT:%.c=$(OBJ_DIR)/%.o)
#	$(LINKER) $+ -o $@

$(OBJ_DIR)/%.o: $(SRC_DIR)/%.c
	$(COMPILER) -c $(CFLAGS) $< -o $@


# Règle pour le nettoyage
clean:
	rm -f $(OBJ_DIR)/*.o $(BIN_DIR)/Zelda_* $(BIN_DIR)/Test_regression



